Son arrays asociativos que están siempre disponibles en todos los ámbitos del script para obtener información del entorno, el servidor y el cliente.
| Variable | Propósito / Definición | Uso Típico |
|---|---|---|
$_SERVER |
Contiene información creada por el servidor web sobre el entorno de ejecución (cabeceras, rutas, host). | Obtener la IP del usuario ($_SERVER['REMOTE_ADDR']) o el método de la petición ($_SERVER['REQUEST_METHOD']). |
$_GET |
Contiene variables pasadas al script a través de la URL (método HTTP GET), en la cadena de consulta. | Recibir datos de la URL: index.php?id=10. |
$_POST |
Contiene variables pasadas al script a través del método de entrada HTTP POST. | Recibir datos de formularios (contraseñas, textos largos, etc.). |
$_REQUEST |
Contiene una combinación de $_GET, $_POST y $_COOKIE. (Uso desaconsejado). |
Acceder a datos sin importar su origen. |
$_SESSION |
Contiene variables de sesión disponibles para el usuario en múltiples páginas. Requiere session_start(). |
Mantener el estado de login o un carrito de compras. |
$_COOKIE |
Contiene variables pasadas al script a través de las cookies HTTP. | Leer un identificador de usuario o token de seguimiento. |
$_FILES |
Contiene información sobre los archivos subidos al script. | Manejar el nombre, tamaño y ubicación temporal de archivos subidos. |
$_ENV |
Contiene variables de entorno pasadas por el sistema operativo o el servidor web. | Acceder a claves de configuración específicas del entorno. |
Usada para mostrar una o más cadenas de texto en la salida. Es ligeramente más rápido que print.
Sintaxis:
echo arg1, arg2, ...;
Ejemplo de Uso:
$saludo = "Hola";
echo $saludo, " Mundo!"; # Salida: Hola Mundo!
Usada para mostrar una sola cadena de texto. Siempre devuelve el valor 1.
Sintaxis:
print arg;
Ejemplo de Uso:
$resultado = print "Muestra esto.";
# Salida: Muestra esto. ($resultado vale 1)
Muestra una cadena formateada. Permite insertar valores en una plantilla usando especificadores de formato (%s, %d).
Sintaxis:
printf(string $format, mixed ...$values): int|false
Ejemplo de Uso:
printf("El número es: %d, la cadena es: %s", 123, "test");
# Salida: El número es: 123, la cadena es: test
Muestra información estructurada y detallada sobre una variable, incluyendo su tipo y su valor. Es la herramienta de depuración más completa.
Sintaxis:
var_dump(mixed $value, mixed ...$values): void
Ejemplo de Uso:
$arr = ["a" => 1, "b" => 2];
var_dump($arr);
/* Salida:
array(2) {
["a"]=> int(1)
["b"]=> int(2)
}
*/
Imprime información legible sobre una variable. Es útil para inspeccionar arrays y objetos, mostrando sus claves y valores de forma estructurada.
Sintaxis:
print_r(mixed $value, bool $return = false): string|bool
Ejemplo de Uso:
$arr = ["a" => 1, "b" => 2];
print_r($arr);
# Salida: Array ( [a] => 1 [b] => 2 )
Imprime una gran cantidad de información sobre el estado actual de PHP, incluyendo opciones de compilación, extensiones habilitadas y configuración.
Sintaxis:
phpinfo(int $flags = INFO_ALL): bool
Ejemplo de Uso:
# Muestra la configuración completa de PHP en el navegador
phpinfo();
Colorea (resalta) el código fuente de un archivo PHP usando la sintaxis de HTML. Útil para mostrar código fuente.
Sintaxis:
highlight_file(string $file_name, bool $return = false): string|bool
Ejemplo de Uso:
# Asume que 'index.php' existe
highlight_file('index.php');
Es una construcción del lenguaje (similar a die()) que termina la ejecución del script. Opcionalmente, puede imprimir un mensaje antes de salir.
Sintaxis:
exit(string|int $status = 0): void
Ejemplo de Uso:
if ($error) {
exit('Ocurrió un error fatal.');
}
| Elemento | Tipo | Propósito / Definición | Uso y Ejemplo |
|---|---|---|---|
isset |
Función | Determina si una variable está declarada y su valor no es NULL. Fundamental para validar datos de entrada. |
if (isset($_POST['usuario'])) { ... } |
empty |
Función | Determina si una variable está vacía. (NULL, false, 0, "", array()). |
if (empty($nombre)) { echo "Vacío"; } |
gettype |
Función | Devuelve el tipo de la variable dada como una cadena (integer, string, array, object, etc.). |
echo gettype(5); # integer |
is_string |
Función | Comprueba si el tipo de una variable es una cadena de texto (string). |
var_dump(is_string("Hola")); # true |
str_replace |
Función | Reemplaza todas las ocurrencias de una subcadena buscada por una de reemplazo. | str_replace("mundo", "universo", "Hola mundo.") |
strtolower |
Función | Convierte una cadena de texto a minúsculas. | strtolower("TEXTO"); # texto |
number_format |
Función | Formatea un número con miles agrupados y un punto decimal. | number_format(1234.56, 2, ',', '.'); # 1.234,56 |
constant |
Función | Devuelve el valor de una constante, dado su nombre como cadena. | constant("MAX_SIZE") |
get_loaded_extensions |
Función | Devuelve un array con los nombres de todas las extensiones PHP cargadas y disponibles. | print_r(get_loaded_extensions()); |
| Elemento | Tipo | Propósito / Definición | Uso y Ejemplo |
|---|---|---|---|
file_get_contents |
Función | Lee todo el contenido de un archivo en una única cadena de texto. | $data = file_get_contents('datos.txt'); |
file_put_contents |
Función | Escribe una cadena de datos en un archivo. Sobrescribe por defecto, usa FILE_APPEND para añadir. |
file_put_contents('log.txt', $error, FILE_APPEND); |
file_exists |
Función | Verifica si un archivo o directorio existe. | if (file_exists('config.php')) { ... } |
require_once |
Construcción | Incluye y evalúa un archivo específico. Si ya fue incluido, lo omite. Detiene la ejecución si no se encuentra. | require_once 'clase_base.php'; |
header |
Función | Envía una cabecera HTTP sin procesar al cliente (navegador). Debe invocarse antes de cualquier salida. | header('Location: /inicio.php'); exit; |
| Elemento | Tipo | Propósito / Definición | Uso y Ejemplo |
|---|---|---|---|
reset |
Función | Establece el puntero interno de un array al primer elemento y devuelve su valor. | echo reset($array); |
current |
Función | Devuelve el valor del elemento actual al que apunta el puntero. | echo current($array); |
key |
Función | Devuelve la clave del elemento actual al que apunta el puntero. | echo key($array); |
next |
Función | Avanza el puntero interno del array un lugar y devuelve el valor del nuevo elemento. | echo next($array); |
json_encode |
Función | Devuelve la representación JSON de un valor PHP. Crucial para APIs. | json_encode($array_datos) |
json_decode |
Función | Decodifica una cadena JSON a un valor PHP. Devuelve un objeto por defecto; usa true para array asociativo. |
json_decode($json_string, true) |
La clase orientada a objetos para manejar fechas y horas de manera robusta.
format(string $format): string
Devuelve la fecha/hora en el formato especificado como cadena.
$fecha->format('Y-m-d H:i:s')
getTimestamp(): int
Devuelve el timestamp UNIX (segundos desde 1970) para el objeto DateTime.
$fecha->getTimestamp()
diff(DateTimeInterface $targetObject): DateInterval
Calcula la diferencia entre dos objetos DateTime, devolviendo un objeto DateInterval.
$diferencia = $fecha1->diff($fecha2);
Funciones globales para establecer el contexto de la fecha/hora.
date_default_timezone_set(string $timezone_identifier): bool
Establece la zona horaria predeterminada que se utilizará en todas las funciones de fecha/hora.
date_default_timezone_set('Europe/Madrid');
setlocale(string|int $category, string|array $locales, ...): string|false
Establece la configuración regional (locale), afectando a la moneda, el alfabeto y el formateo de tiempo (usado por strftime).
setlocale(LC_TIME, 'es_ES.utf8');
strftime(string $format, ?int $timestamp = null): string|false
Formatea una fecha/hora local según la configuración regional (locale) establecida por setlocale. (Obsoleta en PHP 8.1).
strftime('%A, %d de %B');
PDO (PHP Data Objects) es una extensión que proporciona una interfaz uniforme para acceder a bases de datos.
Representa la conexión a la base de datos.
prepare(string $query, array $options = []): PDOStatement|false
Prepara una sentencia SQL para su ejecución. Fundamental para usar sentencias preparadas y prevenir la inyección SQL.
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
query(string $query, ?int $fetchMode = null, ...$fetchModeArgs): PDOStatement|false
Ejecuta una sentencia SQL directamente y devuelve un PDOStatement. Se usa solo para sentencias sin valores variables.
$stmt = $pdo->query('SELECT name FROM roles');
beginTransaction(): bool
Inicia una transacción, asegurando que las siguientes operaciones se traten como una única unidad atómica.
$pdo->beginTransaction();
commit(): bool
Confirma una transacción, haciendo permanentes los cambios.
$pdo->commit();
rollBack(): bool
Revierte una transacción, deshaciendo todos los cambios desde que se inició.
$pdo->rollBack();
getAttribute(int $attribute): mixed
Recupera el valor actual de un atributo de la conexión PDO.
$driver = $pdo->getAttribute(PDO::ATTR_DRIVER_NAME);
Representa una sentencia preparada y el conjunto de resultados asociado.
execute(?array $params = null): bool
Ejecuta la sentencia preparada. Opcionalmente, se le pasa un array de valores para enlazar a los marcadores.
$stmt->execute([':id' => 5]);
bindParam(string|int $param, mixed &$var, int $type = PDO::PARAM_STR, ...): bool
Enlaza una variable PHP a un marcador de posición. El valor se obtiene en el momento de la ejecución.
$stmt->bindParam(':id', $valor);
fetchObject(?string $class = "stdClass", array $constructorArgs = []): object|false
Obtiene la siguiente fila del conjunto de resultados y la devuelve como un objeto.
$obj = $stmt->fetchObject();
rowCount(): int
Devuelve el número de filas afectadas por la última sentencia DELETE, INSERT, o UPDATE.
$count = $stmt->rowCount();
Manejo de errores de base de datos.
getMessage(): string
Devuelve el mensaje de error asociado a la excepción PDO.
echo $e->getMessage();
getCode(): string|int
Devuelve el código de error SQLSTATE (código alfanumérico) o el código de error específico del controlador.
echo $e->getCode();
| Elemento | Tipo | Propósito / Definición | Uso Típico |
|---|---|---|---|
MYSQLI |
Clase/Extensión | Extensión de PHP moderna para interactuar con bases de datos MySQL. Soporta POO y programación procedural. | Conexión y consultas directas a MySQL. |
DOMDocument |
Clase | Clase que proporciona una forma de trabajar con documentos HTML o XML usando el DOM (Document Object Model). | Analizar (parsear) documentos HTML o construir archivos XML. |